透過強行別的模式使用appsetting設定檔資料
同步更新於個人部落格
billhuang-appsetting
選擇ASP.NET Core Web API專案範本,並執行下一步
命名你的專案名稱,並選擇專案要存放的位置。
直接進行下一步
在appsetting新增一筆json資料
"PersonalInformation": {
"Name": "Bill",
"Age": 20
}
public class PersonalInformation {
public PersonalInformation() {
Name = string.Empty;
}
public string Name { get; set; }
public int Age { get; set; }
}
在program.cs中把appsetting的來源綁定在PersonalInformation這個class上
builder.Services.Configure<PersonalInformation>(
builder.Configuration.GetSection("PersonalInformation"));
注入到預設的WeatherForecastController中,就可以使用。
private readonly PersonalInformation _options;
public WeatherForecastController(ILogger<WeatherForecastController> logger, IOptionsMonitor<PersonalInformation> options) {
_logger = logger;
_options = options.CurrentValue;
}
此範例使用的是IOptionsMonitor
選項模式 | 可使用singleton | 重載 | 具名選項 |
---|---|---|---|
IOptions | V | X | X |
IOptionsSnapshot | X | V | V |
IOptionsMonitor | V | V | V |
選項模式
IOptions與IOptionsSnaphot與IOptionsMonitor
程式範例參考
options差別